//package work.rightAnswer;
//
//class Solution_121 {
//    public int maxProfit(int[] prices) {
//        int[][] dp = new int[prices.length][3];
//
//        dp[0][0] = 0;
//        dp[0][1] = -prices[0];
//        dp[0][2] = 0;
//
//        for (int i = 1; i < prices.length; i++) {
//            for (int j = 0; j < 3; j++) {
//                if(j==0){
//                    dp[i][j] =  0;
//                } else if(j==1){
//                    dp[i][j] =  Math.max(dp[i-1][1], dp[i-1][0]-prices[i]);
//                } else {
//                    dp[i][j] =  Math.max(dp[i-1][1]+prices[i],dp[i-1][2]);
//                }
//            }
//        }
//
//        return dp[prices.length-1][2];
//    }
//
//    //0到index区间status状态时最大利润
//    private int maxProfitResource(int[] prices, int index, int status) {
//        if(index==0){
//            if(status==0)return 0;
//            if(status==1)return -prices[0];
//            if(status==2)return 0;
//        }
//
//        if(status==0){
//            return 0;
//        } else if(status==1){
//            return Math.max(maxProfitResource(prices,index-1,1),
//                    maxProfitResource(prices,index-1,0)-prices[index]);
//        } else {
//            return Math.max(maxProfitResource(prices,index-1,2),
//                    maxProfitResource(prices,index-1,1)+prices[index]);
//        }
//    }
//}